ggplot2 হল R প্রোগ্রামিং ভাষার একটি শক্তিশালী টুল যা ডেটা ভিজুয়ালাইজেশন তৈরি করার জন্য ব্যবহৃত হয়। তবে, গুগল চার্ট (Google Charts) JavaScript লাইব্রেরি এবং ggplot2 R এর মধ্যে মৌলিক পার্থক্য রয়েছে। আপনি যদি ggplot2 এর জন্য কাস্টম ফাংশন লিখতে চান যা গুগল চার্টের মাধ্যমে গ্রাফ তৈরি করে, তবে আপনাকে প্রথমে JavaScript ও R এর মধ্যে ইন্টারফেস তৈরির জন্য কিছু কৌশল প্রয়োগ করতে হবে।
এখানে আমরা ggplot2 এর রূপে কাস্টম ফাংশন লিখে Google Charts তৈরি করার পদ্ধতি আলোচনা করব। আমরা JavaScript এবং R এর সমন্বয়ে কাজ করব, যেখানে R ব্যবহার করে ডেটা প্রক্রিয়াকরণ করা হবে এবং গুগল চার্টে কাস্টম ফাংশন তৈরি হবে।
১. R এ ggplot2 দিয়ে কাস্টম ফাংশন তৈরি করা
প্রথমে R তে কাস্টম ফাংশন তৈরি করা হবে যা ডেটা প্রক্রিয়াকরণ করবে এবং ফলস্বরূপ গুগল চার্টের জন্য ডেটা তৈরি করবে। এরপর সেই ডেটা JavaScript দিয়ে গুগল চার্টে ভিজ্যুয়ালাইজ করা হবে।
উদাহরণ: ggplot2 এর জন্য কাস্টম ফাংশন তৈরি করা
# R কোড
library(ggplot2)
# কাস্টম ফাংশন তৈরি করা
create_custom_plot <- function(data) {
ggplot(data, aes(x = wt, y = mpg)) +
geom_point() +
labs(title = "Weight vs Mileage", x = "Weight of Car (1000 lbs)", y = "Miles per Gallon") +
theme_minimal()
}
# mtcars ডেটাসেট
data(mtcars)
# কাস্টম প্লট তৈরি করা
create_custom_plot(mtcars)
এখানে:
create_custom_plotএকটি কাস্টম ফাংশন তৈরি করা হয়েছে যাggplot2ব্যবহার করে একটি গ্রাফ তৈরি করবে।- mtcars ডেটাসেট ব্যবহার করা হয়েছে যেখানে Weight এবং Miles per Gallon (mpg) এর মধ্যে সম্পর্ক দেখা যাচ্ছে।
২. JavaScript (Google Charts) দিয়ে কাস্টম ফাংশন তৈরি করা
এখন আমরা JavaScript ব্যবহার করে গুগল চার্টে একটি কাস্টম ফাংশন তৈরি করব যা র থেকে প্রাপ্ত ডেটা ব্যবহার করবে।
উদাহরণ: Google Charts এ Custom Function তৈরি করা
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart', 'scatter']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
// R থেকে পাওয়া ডেটা (এখানে ডেটা সিমুলেট করা হয়েছে)
var data = google.visualization.arrayToDataTable([
['Weight', 'Mileage'],
[2.620, 21.0],
[2.875, 22.8],
[3.215, 18.7],
[3.440, 17.3],
[3.570, 15.0]
]);
var options = {
title: 'Weight vs Mileage',
hAxis: {title: 'Weight (1000 lbs)'},
vAxis: {title: 'Miles per Gallon'},
legend: {position: 'top'}
};
var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>
এখানে:
- JavaScript ব্যবহার করে গুগল চার্টের Scatter Chart তৈরি করা হয়েছে।
google.visualization.arrayToDataTableমাধ্যমে R থেকে প্রাপ্ত ডেটাকে গুগল চার্টের জন্য ব্যবহার করা হয়েছে।
৩. R এবং JavaScript এর মধ্যে ডেটা আদান-প্রদান
যেহেতু ggplot2 এবং Google Charts আলাদা প্ল্যাটফর্মে কাজ করে (R এবং JavaScript), আপনি R থেকে প্রাপ্ত ডেটা JSON আকারে JavaScript এ পাঠাতে পারেন। এর জন্য Shiny বা rCharts এর মতো R প্যাকেজ ব্যবহার করা হয়, যা R এবং JavaScript এর মধ্যে ইন্টারফেস তৈরি করতে সাহায্য করে।
উদাহরণ: Shiny এর মাধ্যমে R এবং JavaScript এর মধ্যে ডেটা আদান-প্রদান
library(shiny)
library(googleVis)
# UI অংশ
ui <- fluidPage(
googleChartOutput("scatterPlot")
)
# Server অংশ
server <- function(input, output) {
output$scatterPlot <- renderGoogleChart({
data <- mtcars[, c("wt", "mpg")]
gvisScatterChart(data, options=list(
title="Weight vs Mileage",
hAxis="{title: 'Weight'}",
vAxis="{title: 'Mileage'}"
))
})
}
shinyApp(ui = ui, server = server)
এখানে:
- Shiny ব্যবহার করে R এবং JavaScript এর মধ্যে googleVis প্যাকেজের মাধ্যমে ডেটা আদান-প্রদান করা হয়েছে।
gvisScatterChartদিয়ে একটি গুগল চার্ট তৈরি করা হয়েছে।
৪. ggplot2 এর কাস্টম ফাংশন এবং Google Charts এর সংযোগ
যদি আপনি শুধুমাত্র ggplot2 দিয়ে কাজ করতে চান, তবে র মাধ্যমে প্রাপ্ত চার্ট HTML, CSS, এবং JavaScript কোডে রূপান্তর করতে পারেন। এজন্য r2d3 প্যাকেজ ব্যবহার করা যেতে পারে।
সারমর্ম
- ggplot2 এবং Google Charts দুটোই শক্তিশালী ভিজ্যুয়ালাইজেশন টুল, তবে এগুলোর মধ্যে পার্থক্য রয়েছে। ggplot2 R এ কাজ করে এবং Google Charts JavaScript এ কাজ করে।
- R এবং JavaScript এর মধ্যে ইন্টারফেস তৈরি করতে আপনি Shiny বা rCharts প্যাকেজ ব্যবহার করতে পারেন, যার মাধ্যমে ggplot2 এর ডেটা JavaScript-এ পাঠানো এবং গুগল চার্টে ভিজ্যুয়ালাইজ করা সম্ভব।
- আপনি JavaScript ব্যবহার করে ggplot2 এর রূপে কাস্টম ফাংশন তৈরি করতে পারেন, যা গুগল চার্টে ডেটা ভিজ্যুয়ালাইজেশনের জন্য ব্যবহৃত হবে।
এভাবে, আপনি ggplot2 এর মাধ্যমে কাস্টম ফাংশন লিখে এবং সেগুলো গুগল চার্টে ব্যবহার করে আরো ইন্টারঅ্যাকটিভ এবং রিয়েল-টাইম ভিজ্যুয়ালাইজেশন তৈরি করতে পারেন।
Read more